package seqlist.leetcode;

public class Num206leetcode {
    public ListNode reverseList(ListNode head) {
           ListNode listNode=new ListNode();
           //边遍历原链表，边新建节点头插入新链表
        while ((head != null)) {
            ListNode node =new ListNode(head.val);
            node.next = listNode.next;
            listNode.next=node;
            head=head.next;
        }
        return listNode.next;

//        if (head==null||head.next==null){
//            return head;
//        }
//        ListNode prev= null;
//        ListNode cur =head;
//        while (cur!=null){
//            //暂存一下下一个要处理节点的位置
//            ListNode next = cur.next;
//            cur.next=prev;
//            prev=cur;
//            cur=next;
//        }
//        return prev;
//        if (head==null||head.next==null){
//            return head;
//        }
//        //暂存下第二个节点的位置
//        ListNode node=head.next;
//        //第二个结点开始的子链表反转交给子函数
//        ListNode newHead=reverseList(head.next);
//        //拼接当前head
//        node.next=head;
//        head.next=null;
//        return newHead;
    }
}
